Method system and graphical user interface for dynamically updating transmission characteristics in a web mail reply

ABSTRACT

A method, system and graphical user interface for dynamically updating transmission characteristics in a web mail reply are described. In one embodiment of the invention, a graphical user interface includes a web mail reply form that includes: one or more address fields; an input area for inputting a reply message; and a plurality of response options selectable by a user. In response to selection of a response option by a user, one or more of the address fields in the reply form are changed while maintaining the reply message in the input area.

COSS REFERENCE TO RELATED PATENT APPLICATIONS

This application is related to pending U.S. patent application Ser. No. 10/816,428, “Email System with Conversation-Centric User Interface”, filed Mar. 31, 2004, and U.S. patent application Ser. No. 10/816,427, “Email Conversation Management System”, filed Mar 31, 2004. The disclosures of all of the foregoing applications are incorporated herein in their entirety by reference.

BACKGROUND

A. Technical Field

The present invention relates generally to Internet technology, and more particularly, to electronic-mail (email) technology.

B. Background of the Invention

The importance of email technology in society today is well known. Email applications have become a common tool in both business and personal communication. A significant factor in the widespread adoption of email technology is the relative ease with which individuals may communicate using email. An individual may quickly communicate a message to one or more individuals by simply inputting the message and the recipients' email address into an email application and clicking a mouse button. One of the primary reasons email is so attractive is that the messages are typically delivered within seconds of being sent.

FIG. 1 illustrates an exemplary network on which email messaging may occur. As shown, each of the computer clients, Client A 120, Client B 121, Client C 122, and Client D 123, are coupled to a network 100. This network may be a private network, a public network such as the Internet, or a combination thereof. The computer clients (120, 121, 122, 123) are able to communicate with each other through virtual connections over network 100. These virtual connections allow the clients (120, 121, 122 and 123) to send and receive electronic mail messages from the other clients.

Many email users access their email through web mail applications which display a user's email inbox and the corresponding email messages in a web page environment. One of the advantages of web mail applications is that the user may access their email from any location that provides access to the World Wide Web. When a user logs into their email account, they are typically presented with an inbox view that provides a list of the various email messages the user has received. When the user selects a particular email message, for example, by clicking on the message within the list, a request is sent to a web server requesting the selected message. The server responds with the email message which is displayed to the user as a new web page.

Typically, the web page displaying the message includes one or more response options. Examples of response options include Reply, Reply-to-All and Forward. These response options are usually presented to the user as links or buttons that the user may select. Reply allows the user to reply to the originator of the message. Reply-to-All allows the user to reply to all of the recipients of the message. The Forward option allows the user to forward the email to a user who was not one of the original recipients of the message.

When a user selects one of the response options in a web based email application, a request is sent to a remote email server requesting the reply web page corresponding to the selected response option. This page typically includes a text box for inputting the reply message and one or more address fields for inserting the recipient addresses. When the user selects the Reply or Reply-to-All option, the server typically inserts the appropriate recipient address information into the address fields.

Typically, a user must choose the response option at the time he decides to respond to the email. If the user later changes his mind and wants to select a different response option, he cannot do so from the reply web page returned by the server. In order to select a different response option, the user would have to return to the original message web page. This process may result in multiple requests to the server which increases web traffic and adds additional latency to the user experience. If the user provides part or all of a response message into the reply web page before changing his mind on the response options, the user would lose the message unless he copied the message before returning to the original message and pasted it into the new reply web page returned by the server upon selecting the new response option.

These same limitations are also present in client-side email applications such as Microsoft Outlook. When the user selects a particular response option, a new message window is created including the recipient addresses associated with the response option. However, if the user wishes to change to a different response option, the user must close the window and select a different response option. These applications do not provide the user with a mechanism to dynamically change the response option for his message. As a result, if the user has provided part or all of a message prior to deciding to select a different response option, the user must either copy the message and paste it into the new reply window, or must manually enter the additional recipient address.

Accordingly, what is desirable are improved systems and methods for addressing the above-described limitations of prior systems.

SUMMARY OF THE INVENTION

The present invention provides a system and method for dynamically updating the email address of a response message in response to a user selection of a response option. In one embodiment, a reply form may be provided as an interface to respond to an email message. The reply form may comprise a text box for inputting a response message and a recipient email address box for inputting the email addresses of the intended recipients of the response message. In one embodiment, a plurality of response options may be provided with the reply form. When a user selects a response option, the recipient addresses of the response message may be dynamically updated with the email addresses associated with the response option.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will be made to embodiments of the invention, examples of which may be illustrated in the accompanying figures. These figures are intended to be illustrative, not limiting. Although the invention is generally described in the context of these embodiments, it should be understood that it is not intended to limit the scope of the invention to these particular embodiments.

FIG. 1 illustrates an exemplary block diagram of a network on which email messages may be transmitted.

FIG. 2A illustrates a reply form 200 according to one embodiment of the invention.

FIG. 2B illustrates a minimized reply form 215 according to one embodiment of the invention.

FIG. 2C illustrates a reply form 200 with a response message according to one embodiment of the invention.

FIG. 2D illustrates a reply form 295 that has been torn away from the window displaying the original email message.

FIG. 3A illustrates a reply form 200 wherein the recipient addresses have been updated in response to a selection of a response option according to one embodiment of the invention.

FIG. 3B illustrates a reply form 200 following the sending of a response message according to one embodiment of the invention.

FIG. 4A illustrates a reply form 400 with response buttons according to one embodiment of the invention.

FIG. 4B illustrates a reply from according to one embodiment of the invention.

FIG. 5 illustrates an email thread 500 according to one embodiment of the invention.

FIG. 6A illustrates an email thread 500 with a dynamically inserted reply form 200 according to one embodiment of the invention.

FIG. 6B illustrates an email thread 500 with an inserted response message according to one embodiment of the invention.

FIG. 7 is a flowchart for updating the recipient addresses of a response email in response to user selection of a response option according to one embodiment of the invention.

DETAILED DESCRIPTION

An apparatus and method for dynamically updating at lease one email transmission characteristic of a reply form without modifying the text message within the reply form is described. Email transmission characteristics include but are not limited to the recipient addresses of the response message, security parameters, quality of service characteristics or the priority level assigned to the response message. One skilled in the art will recognize that there are a number of email transmission characteristics that may be modified according to the present invention.

In one embodiment, the recipient addresses of a response message may be dynamically updated in response to a user selection of one of a plurality of response options. In one embodiment, a reply form associated with a received email message may be displayed to a user. The reply form may include multiple response options, a text box for inputting the response message and one or more address fields for adding and or editing the email addresses of the intended recipients of the response message. In response to a user selection of a response option, the recipient addresses of the response message may be dynamically populated based upon the selected response option.

In the following description, for purposes of explanation, specific details are set forth in order to provide an understanding of the invention. It will be apparent, however, to one skilled in the art that the invention can be practiced without these details. Furthermore, one skilled in the art will recognize that embodiments of the present invention, exemplary ones of which are described below, may be utilized in any electronic mail application. Accordingly, structures and devices shown below in block diagram are illustrative of specific embodiments of the invention and are meant to avoid obscuring the invention.

Reference in the specification to “one embodiment,” “this embodiment” or “an embodiment” means that a particular feature, structure, characteristic, or function described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” or “in an embodiment” in various places in the specification are not necessarily all referring to the same embodiment.

FIG. 2A illustrates an exemplary reply form 200 according to one embodiment of the invention. Reply form 200 may provide an interface for the user to respond to a previously received email message 210. Reply form 200 may be located within the same window or document (e.g. web page) as the received email message. Reply form 200 may include a content area, such as text box 220, for typing or otherwise inputting the response message, a subject box 230 for entering a subject for the response message, and one or more recipient address boxes for inserting the email addresses of the recipients to which the user wishes to send the response message. In the embodiment illustrated in FIG. 2A, reply form 200 may include two recipient address boxes, 240 and 250. Reply form 200 may also include resize options that allow the user to dynamically resize reply form 200 or text box 220. In one embodiment, resize buttons 235 and 245 may be selected by the user to increase or reduce the number of lines of text available in reply form 200 or text box 220. Software code may detect a user selection of resize button 235 or 245 and may dynamically add or subtract a predefined number of lines of text from text box 220 within reply form 200. Alternatively, a control corner 225 may be provided to the user which the user may select and drag across the screen to increase the size of reply form 200 or text box 220. Reply form 200 may also include multiple response options. In one embodiment, reply form 200 may include three response options, Reply 260, Reply-to-All 270 and Forward 280.

In one embodiment, email message 210 is the message the user is responding to using reply form 200. As illustrated in FIG. 2A, email message 210 was sent to the user from Tim@example.com. In addition, Tim copied, denoted by “Cc:,” Brad@example.com and Greg@example.com. Thus, Brad, Greg and the user each received a copy of email message 210.

Reply form 200 may be generated to allow the user to respond to email message 210 and may be displayed in the same window or document (e.g. web page) as email message 210. In an alternative embodiment, reply form 200 may be displayed in a separate window or frame from email address 210. In one embodiment, illustrated in FIG. 2B, a minimized reply form 215 may be inserted below email message 210. Minimized reply form 215 may include response options 260, 270 and 280 discussed herein along with a small text box 217. In response to a user selection of one of the response options or in response to a user click in the text box 217, software code may detect the user selection or click and dynamically insert reply form 200 and/or an expanded text box 220 in place of minimized reply form 215 with minimized text box 217. In yet another embodiment, the software may expand the minimized reply form 215 by dynamically inserting additional lines into the text box 217 of minimized reply form 215.

In the embodiment illustrated in FIG. 2A, response options 260, 270 and 280 may be presented as virtual tabs or links so that the user may toggle between response options. As a user toggles through these tabs, a client computer may not be required to make a server request in response to the user selecting these tabs. Rather, software (such as javascript) may be provided on the client computer that detects the user selection of one of the tabs and populates address boxes 240 and/or 250 with the addresses corresponding to the selected response option. Thus, the user may type or enter a response to the email message 210 and define the characteristics of the response, such as the recipients of the response, without making a specific server request for the response or a response form. This reduction in client-server communication may provide a more efficient email platform in which latency, which is typically caused by generating an email response window and populating the corresponding recipient address field, may be reduced.

Software located on the client computer may also provide a more efficient email response mechanism for the user by allowing the user to toggle through the virtual tabs while maintaining content within the text box 220. For example, the user may initially select the Reply tab 260 and enter a response to the email message 210 within the text box 220. Thereafter, the user may toggle from the Reply tab 260 to the Reply-to-All tab 270. The content within the text box 220 may remain after this toggle without any user action. According to one embodiment, software on the client computer modifies the characteristics of the email response (i.e., changes from Reply response to Reply-to-All response) without erasing or modifying the content with the email response.

In the example illustrated in FIG. 2A, Reply 260 is the selected response option. In one embodiment, Reply 260 is the default response option displayed to the user.

In one embodiment, Reply option 260 may be defined to reply to the sender of the original email message 210. In the embodiment illustrated in FIG. 2A, Tim@example.com sent the email message 210 to which the user is responding so his email address is included in recipient address box 240 since the Reply 260 option is selected. In comparison, the response message will not be sent to Brad@example.com or Greg@example.com because they were not the original sender of email message 210 and thus are not associated with the Reply 260 option.

In one embodiment, the user may input a response message in text box 220 by clicking text box 220 and inputting the text through a keyboard or other input device. FIG. 2C, illustrates reply form 200 with a response message in text box 220. The response message in text box 220 may not be affected if the user toggles between the various response options.

As mentioned above, the user may toggle between the various response options in order to change the recipient addresses for the response message. For example, if the user wishes to send the message to Tim, Greg and Brad, the user may select the Reply-to-All option 270 within reply form 200. In one embodiment, Reply-to-All option 270 is defined to send the response message to all of the recipients of email message 210.

When the user selects Reply-to-All option 270, software code may detect the selection and dynamically update address boxes 240 and 250 to include the email addresses of the recipients associated with the selected response option. In this example, the software code may populate recipient address box 240 with Tim@example.com and may populate address box 250 with Greg@example.com and Brad@example.com. Each of these email addresses is associated with the Reply-to-All 270 option since it is defined to respond to each recipient of email message 210. In one embodiment, the software code may be embedded within the source code that defines reply form 200. In an alternative embodiment, the software code may be embedded within a hidden frame or second window (not shown in FIG. 2A).

The software code may be configured to monitor and/or receive data regarding user selections within reply form 200. In one embodiment, the software code may parse email message 210 to identify the various recipient email addresses. Based on the location within the email message 210 header, the software code may identify which email addresses to associate with each response option. For example, while parsing email message 210, the software code may identify email addresses located in the “Cc:” field and may assign these addresses to the Reply-to-All option 270. As a result, when a user selects Reply-to-All 270, the software code may populate recipient address box 250 of reply form 200 with the recipient email addresses parsed from the “Cc:” field of email message 210.

In another embodiment, while parsing email message 210, the software code may identify the email addresses located in the “From:” field of email message 210. The software code may associate these email addresses with the Reply 260 and Reply-to-All 270 options. The “From:” field email addresses may be associated with each response option since both are defined to respond to the sender of the original email message 210. As a result, when the user selects either of these response options, the software code may populate recipient text box 240 of reply form 200 with the email addresses parsed from the “From:” field of email message 210.

One skilled in the art will recognize that there are a number of ways to implement the software code described above. In one embodiment, JavaScript or another scripting language may be used to implement the present invention. In one embodiment, the software code may be embedded within the source code that defines reply form 200. In an alternative embodiment, the software code may be embedded within a hidden frame or second window.

In one embodiment of the invention illustrated in FIG. 2C, a tear off link or button 290 may be included with reply form 200. When a user clicks or otherwise selects tear off button 290, reply form 200 may be torn off of its original display in the same window as email message 210 and displayed in a separate window. FIG. 2D illustrates reply form 295 displayed in a window separate from email message 210. In one embodiment, email message 210 may still be displayed in the original window located within web browser 296. This embodiment of the invention is advantageous because it allows the user to input a response message into reply form 295 while being able to navigate the web browser to a new web page. In another embodiment, when reply form 200 is torn away from the original display window, a new reply form 200 may be inserted below email message 210, allowing the user to draft a second response message separate from the response message being input into the reply form 295 that was torn away from the original display window.

FIG. 3A illustrates reply form 200 with the recipient addresses updated in response to the user selection of the Reply-to-All 270 option according to one embodiment of the invention. As discussed above, the Reply-to-All 270 option may be defined to send the reply message input into reply form 200 to all of the recipients of email message 210. In the example illustrated, the recipients associated with Reply-to-All option include Tim@example.com, Brad@example.com and Greg@example.com. When the Reply-to-All option 270 was selected by the user, the software code dynamically updated address boxes 240 and 250 with the recipient addresses associated with Reply-to-All option 270.

In one embodiment of the invention, the user may click or otherwise select Send button 290 to send the message input to reply form 200 to the recipients specified in address boxes 240 and 250. In one embodiment, software code may detect the user selection of the send button and initiate the transfer of the message to a remote server for delivery to the specified recipients. In one embodiment, the software code may be embedded within the source code that defines reply form 200. In an alternative embodiment, the software code may be embedded within a hidden frame or second window. In one embodiment, the message may be sent without navigating the user to another web page. In other words, during the process of toggling between response options and sending the message, the same reply form 200 may be displayed to the user.

In one embodiment of the invention, a confirmation message indicating that the message has been sent may be inserted in place of the reply form when the message has been sent. In another embodiment, the software code may be configured to remove the contents of text box 220 after the user has clicked on the send button and the message delivery has been initiated. As illustrated in FIG. 3B, the same reply form 200 may be displayed to the user with the contents of the text box deleted. As a result, the user may immediately begin creating a second response email. In one embodiment, reply form 200 maintains the same response option as the previously sent response message. In the example illustrated, the Reply-to-All 270 option remains the selected response option. In an alternative embodiment, reply form 200 may automatically toggle back to the default Reply option 260 after a response message has been sent. In either case, the user may again toggle between the various response options by simply selecting one of the other response options.

One skilled in the art will recognize that the invention is not limited to virtual tabs and that there are a number of other ways to display response options 260, 270 and 280 to a user, including but not limited to links and buttons. In one embodiment, illustrated in FIG. 4, a reply form 400 may be provided to a user with multiple response options provided to the user as a plurality of response buttons 410, 420, 430 and 440 that also initiate the sending of the message. Reply form 400 may include a subject box 230 and a text box 220 for inputting a response message.

In one embodiment, response button 410 may represent the reply option. When the user selects response button 410, software code may initiate the sending of the message input into text box 220 to the sender of the original message 210. In this example, Tim@example.com. Response button 420 may represent the reply-to-all option. When the user selects response button 420, software code may initiate the sending of the message input into text box 220 to all of the recipients of the original message 210. In this example, the message would be sent to Tim@example.com, Brad@example.com and Greg@example.com.

In yet another embodiment, when the user selects the Edit Recipients response button 430, software code may dynamically insert the To: and Cc: address boxes 240 and 250 into reply form 400 along with a Send button as illustrated in FIG. 4B. In one embodiment, address boxes 240 and 250 may be populated with the recipient addresses associated with a reply-to-all option. The user may edit the addresses, add new addresses or delete one or more addresses from address boxes 240 and 250.

Similarly, when the user selects the Forward response button 440, software code may insert the To: and Cc: address boxes 240 and 250 into reply form 200 along with a Send button as illustrated in FIG. 4B. However, in this embodiment, address boxes 240 and 250 may be left empty, allowing the user to input the intended recipients. The software code may also include the text of the original message 210 in text box 220 along with a forward header. The forward header may include information identifying the sender of message 210, the date message 210 was sent, the subject of message 210 and the recipients of message 210.

FIG. 5 illustrates multiple email messages 510, 520 and 530 that make up an email thread 500. Below each email message 510, 520 and 530 is a reply link 515, 525 and 535, respectively. In one embodiment of the invention, a reply mechanism such as a reply link or other selection means may be associated with each email message that makes up email thread 500. The user may select one of the reply mechanisms to respond to the associated email message within email thread 500. In the embodiment illustrated in FIG. 5, reply links 515, 525 or 535 are provided to respond to the email message associated with the reply link. Software code may detect a user selection of the reply link and insert a reply form 200 below the message to which the user wants to respond. In one embodiment, the software code may be embedded within the source code that defines email thread 500. In an alternative embodiment, the software code may be embedded within a hidden frame or second window within the web browser.

In another embodiment, when a user selects reply link 525 a reply form 200 is inserted below email message 520 as illustrated in FIG. 6A. In yet another embodiment of the invention, the user may click on multiple reply links 515, 525 and/or 535 to open multiple reply forms. As a result, the user may simultaneously input responses to multiple messages at the same time.

In a further embodiment of the invention, a reply link may be provided for each response option supported. For example, a reply link may be provided for Reply 260 option, Reply-to-All 270 option and Forward 280 option. When the user selects one of the response options, a reply form 200 may be dynamically inserted below the email message associated with the reply link. Software code may populate address boxes 240 and 250 based on the selected response option. In addition, the user may still toggle between the response options within reply form 200 as described above.

In an alternative embodiment, the reply links located below each email message within email thread 500 may be replaced with minimized reply forms 215 illustrated in FIG. 2B. As discussed above, in response to a user selection of one of the response options or in response to a user click in the text box of minimized reply form 215, software code may detect the user selection or click and dynamically insert reply form 200 and/or an expanded text box 220 in place of minimized reply form 215 with minimized text box 217. In yet another embodiment, the software may expand the minimized reply form 215 by dynamically inserting additional lines into the text box 217 of minimized reply form 215. The user may select multiple minimized reply forms 215 within email thread 500, allowing the user respond to multiple email messages within email thread 500 at the same time.

In one embodiment of the invention illustrated in FIG. 6B, when a user selects the send button within reply form 200 of email thread 500, the text of the reply message may be inserted into the thread view. As illustrated in this embodiment, the messages within thread 500 may be indented or otherwise distinguished to provide the user with a visual representation of each message within email thread 500.

FIG. 7 illustrates a method 700 for updating the recipient addresses of a response email in response to user selection of a response option according to one embodiment of the invention. In step 710, a reply form for responding to a first electronic mail (email) message may be provided to a user. The reply form may include a text box for inputting the response message and one or more address boxes for inputting the addresses of the intended recipients of the response message.

In step 720, a plurality of response options may be provided to the user. The response options may be part of the reply form or may in some way be associated with the reply form. In one embodiment, the response options include the Reply option, the Reply-to-All option, and the Forward option. There are a number of ways in which the response options may be presented to the user, including presenting the response options as virtual tabs, links and or buttons. Each response option may be associated with a subset of the recipients of the email message to which the user is responding.

In step 730, a user selection of one of the plurality of response options may be detected. In one embodiment, software code detects the selection of one of the response options. The software code may determine which recipient addresses are associated with the selected response option. In one embodiment, the first email message may be parsed to locate the various recipients and sender of the first email message. These email addresses may be associated with various response options.

In step 740, the recipient addresses of the response message are updated in response to the selected response option. In one embodiment, software code may dynamically update or replace the recipient email addresses of the reply form with the recipient addresses associated with the selected response option. This may consist of removing email addresses from the reply form that are not associated with the selected response option. This may also consist of populating the reply form with recipient email addresses that are associated with the selected response option.

While the present invention has been described with reference to certain embodiments, those skilled in the art will recognize that various modifications may be provided. For example, though the invention has been discussed with reference to various response options, one skilled in the art will recognize that the invention is not limited to these response options. Other response options may be defined that are part of the present invention. In addition, there are numerous programming languages, including JavaScript, that may be used to implement the invention. Variations upon and modifications to the embodiments are provided for by the present invention, which is limited only by the following claims. 

1. A method for responding to one of a plurality of email messages within an email thread, comprising: providing the email thread in a document; simultaneously providing a plurality of reply mechanisms, each reply mechanism corresponding to one of the plurality of email messages; detecting a user selection of one of the reply mechanisms; and providing a reply form within the document for inputting a response message.
 2. The method of claim 1, wherein each of the plurality of email messages is associated with at least one reply mechanism.
 3. The method of claim 1 wherein a respective reply mechanism comprises a reply link.
 4. The method of claim 1 wherein a respective reply mechanism comprises a minimized reply form.
 5. The method of claim 4 wherein a text box of the minimized reply form is expanded in response to a user selection of the minimized reply form.
 6. The method of claim 1, wherein the reply form is provided below the email message corresponding to the selected reply mechanism.
 7. A client computer, wherein the client computer is configured to: provide an email thread in a document, wherein the email thread contains a plurality of email messages; simultaneously provide a plurality of reply mechanisms, each reply mechanism corresponding to one of the plurality of email messages; detect a user selection of one of the reply mechanisms; and provide a reply form within the document for inputting a response message.
 8. A computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising instructions, which when executed by a client computer, cause the client computer to: provide an email thread in a document, wherein the email thread contains a plurality of email messages; simultaneously provide a plurality of reply mechanisms, each reply mechanism corresponding to one of the plurality of email messages; detect a user selection of one of the reply mechanisms; and provide a reply form within the document for inputting a response message.
 9. A graphical user interface on a client computer, comprising: an email thread in a document, wherein the email thread contains a plurality of email messages; a plurality of simultaneously provided reply mechanisms, each reply mechanism corresponding to one of the plurality of email messages; and a reply form within the document for inputting a response message, wherein the reply form is provided in response to detection of a user selection of one of the reply mechanisms. 